home *** CD-ROM | disk | FTP | other *** search
- ;
- ; SHIFT_CHARS = Moves the chars in the char_buffer pixel by pixel in x-direc.
- ;
- ; Variable needed .. DS:CFLAG (byte) .. for shifting-routine
-
- shift_chars: mov cx,16
- add si,80*16
-
- sch6: push cx
- push si
-
- mov cx,81
-
- sch5: cmp [byte ds:cflag],1
- je sch1
-
- mov al,[ds:si]
- shl al,1
- jnc sch4
- mov [byte ds:cflag],1
-
- sch4: mov [ds:si],al
-
- jmp sch2
-
- sch1: mov [byte ds:cflag],0
- mov al,[ds:si]
- shl al,1
- jnc sch3
- mov [byte ds:cflag],1
-
- sch3: or al,1
- mov [ds:si],al
-
- sch2: sub si,16
- dec cx
- jnz sch5
-
- pop si
- pop cx
-
- inc si
- dec cx
- jnz sch6
-
- ret
-
-